#include <xen/event.h>
#include <asm/vlsapic.h>
#include <asm/vhpt.h>
+#include <asm/vmx_pal_vsa.h>
#include "entry.h"
/* Global flag to identify whether Intel vmx feature is on */
u64 status;
BUG_ON(v != current);
- /* FIXME: about setting of pal_proc_vector... time consuming */
- status = ia64_pal_vp_save((u64 *)v->arch.privregs, 0);
- if (status != PAL_STATUS_SUCCESS){
- panic_domain(vcpu_regs(v),"Save vp status failed\n");
- }
-
+
+ ia64_call_vsa(PAL_VPS_SAVE, v->arch.privregs, 0, 0, 0, 0, 0, 0);
/* Need to save KR when domain switch, though HV itself doesn;t
* use them.
void
vmx_load_state(struct vcpu *v)
{
- u64 status;
-
BUG_ON(v != current);
vmx_load_all_rr(v);
/* vmx_load_all_rr() pins down v->arch.privregs with both dtr/itr*/
- status = ia64_pal_vp_restore((u64 *)v->arch.privregs, 0);
- if (status != PAL_STATUS_SUCCESS){
- panic_domain(vcpu_regs(v),"Restore vp status failed\n");
- }
+ ia64_call_vsa(PAL_VPS_RESTORE, v->arch.privregs, 0, 0, 0, 0, 0, 0);
ia64_set_kr(0, v->arch.arch_vmx.vkr[0]);
ia64_set_kr(1, v->arch.arch_vmx.vkr[1]);